package com.firstgroup.service;

import com.firstgroup.Utils.ResponseResult;
import com.firstgroup.domain.Interviewers;
import com.firstgroup.domain.Page;
import com.firstgroup.domain.QuessionBank;
import com.firstgroup.domain.User;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface AdminService {

    //新增用户
    String addUser(User user);

    //批量新增用户
    List<User> batchAddUser(List<User> list);

    //删除用户
    int deleteUser(Integer id);

    //批量删除
    int batchDeleteUser(Integer[] id);

    //一键删除
    int deleteAllUser();

    //初始化密码
    int setPassword(Integer id);

    //批量初始化密码
    int batchSetPassword(Integer[] id);

    //一键初始化密码
    int setAllPassword();

    //分页显示所有用户
    Page<User> queryAllUser(Integer pageNow, Integer pageSize);

    //更新用户信息
    User updateUser(User user);

    //模糊查询  根据名字
    List<User> findByNameLike(String name);

    //模糊查询 根据用户名
    List<User> findByUsernameLike(String username);


    //添加题库
    QuessionBank addQuestion(QuessionBank quessionBank);

    // 删除题目
    Integer deleteQuestion(int id);

    // 修改题目
    Integer updateQuestion(int id,String quessionName,String type,String answer);

    //遍历题库
    Page<QuessionBank> findQuestions(Integer pageNow, Integer pageSize);


    //根据类型进行遍历
    Page<QuessionBank> findByType(String type,Integer pageNow, Integer pageSize);

    // 根据id进行查找题库信息
    QuessionBank findById(int id);

    //模糊查询题目  面试
    Page<QuessionBank> findByQuestionName(String name,Integer pageNow, Integer pageSize);

    //模糊查询题目 笔试
    Page<QuessionBank> findByQuestionNameW(String name,Integer pageNow, Integer pageSize);

    //模糊查询某个面试者而
    List<Interviewers> findInterByName(String name);

    ResponseResult findUserById(int id);

}
